課程資訊
課程名稱
機器學習及其深層與結構化
Machine Learning and Having It Deep and Structured 
開課學期
103-2 
授課對象
電機資訊學院  電機工程學研究所  
授課教師
李宏毅 
課號
CommE5045 
課程識別碼
942 U0590 
班次
 
學分
全/半年
半年 
必/選修
選修 
上課時間
星期五6,7,8(13:20~16:20) 
上課地點
明達231 
備註
總人數上限:80人 
Ceiba 課程網頁
http://ceiba.ntu.edu.tw/1032CommE5045_ 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

你可能已經修過和計算機程式相關的課程,能夠設計程式讓電腦處理一些簡單的問題,但是你有沒有想過,那些處理非常複雜問題的程式,例如:將語音辨識成為文字的程式,是如何設計出來的呢?事實上,這些程式中的演算法並非由人類直接設計,而是由人類寫出讓機器能夠根據資料學習的演算法後,讓機器自動由大量的資料和過去的經驗找出可以處理這些問題的方法,而如何設計出讓機器自動學習的演算法就是「機器學習」這個領域在探討的問題。

本課程旨在介紹機器學習方法及其在語音處理、影像處理、自然語言處理等領域的應用,並深入介紹最近廣受重視的深層機器學習方法和結構化機器學習方法。本課程主要涵蓋內容如下:
1.基本的機器學習概念和方法。
2.介紹以深層學習 (Deep learning) 方法為基礎的機器學習技術。
3.介紹以結構化學習 (Structured Learning) 方法為基礎的機器學習技術。 

課程目標
本課程旨在介紹機器學習方法,也就是機器如何根據過去的資料或經驗學習去解決人類感興趣的問題,例如:如果我們想讓機器能夠偵測一張相片是否包含人臉,我們可以讓機器「瀏覽」大量的相片,並「告知」機器哪些相片有人臉、哪些相片沒有,機器便可以利用這些資訊自動去建構出鑑別一張相片是否包含人臉的模型,當使用者輸入新的相片時,機器便根據所學的模型去偵測一張相片是否包含人臉。

本課程會從基本的機器學習概念開始講起,介紹機器學習使用者都應該知道的基本機器學習理論、方法和工具,並講授機器學習如何應用在語音處理、影像處理、自然語言處理等領域。除了基本的機器學習概念和方法之外,本課程還會涵蓋下面兩個機器學習中較為進階的主題:
一、深層機器學習:在分類問題中,例如:判斷一帳相片有人臉或是沒有人臉,輸入的物件(如:相片)和其類別(如:有、無人臉)之間的對應關係有時可能非常複雜,簡單的模型可能難以描述這類複雜的關係,所以需要以深層類神經網路(Deep Neural Network, DNN)等較複雜的模型來處理這類問題。
二、結構化機器學習:在真實世界的應用中,機器常常需要學習去處理遠比分類更複雜的問題,例如:
1.當我們對語音辨識系統說一段話,機器必須根據從訓練資料學習的結果找出聲音訊號對應的字串。
2.當我們在Google上輸入關鍵字時,Google透過機器學習的技術知道如何產生搜尋結果。
結構性機器學習和預測便是一系列處理上面這類複雜問題的機器學習方法。

希望透過這門課學生對機器學習的技術可以有系統性的認識,並具備實作這些技術的基本能力,以期在未來能將這些技術活用到各自的專業領域中。
 
課程要求
需要具備基本的程式設計能力。理論上,電機系大三以上的學生即具備修習本課程所需的基本能力,但建議可以同時修資料結構或演算法相關課程加強程式能力。

本課程內容和機器學習相關課程是互補的,本課程著重機器學習在實際問題的應用,並且會花相當的時間深入探討機器學習的深層化和結構化,如果有預修過機器學習相關課程,則上課能較快進入狀況,但也可以修習本課程之後再去修機器學習相關課程以了解更多機器學習的學理基礎。沒有修過機器學習相關課程的同學可以利用寒假時間,瀏覽資工系林軒田老師線上的機器學習課程(https://class.coursera.org/ntumlone-002/),這樣開學後更能進入狀況。

本課程內容和語音處理、影像處理等課程是相關的,如果有預修過相關課程,則對上課所舉的機器學習應用可以有更深刻的體會,但也可以修習本課程之後再去修上述相關課程以了解更多語音處理、影像處理等專業領域的知識。
 
預期每週課後學習時數
 
Office Hours
另約時間 
指定閱讀
待補 
參考書目
待補 
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
分組作業 
60% 
二到四個人一組,可以組好隊後一起來修課。找不到隊友也沒關係,開學後老師可以幫忙配對。 
2. 
期末分組專題 
40% 
二到四個人一組,可以組好隊後一起來修課。找不到隊友也沒關係,開學後老師可以幫忙配對。 
 
課程進度
週次
日期
單元主題
第1週
2/27  放假 
第2週
3/06  Introduction 
第3週
3/13  Deep Neural Network 
第4週
3/20  Training Deep Neural Network
(公告第一次作業) 
第5週
3/27  放假
 
第6週
4/03  放假 
第7週
4/10  Structured Learning for Sequence Labeling
(第一次作業到期,公告第二次作業) 
第8週
4/17  Structured SVM 
第9週
4/24  Real Implementation Issue 
第10週
5/01  Recurrent Neural Network 
第11週
5/08  Structured SVM with Hidden Variables
(第二次作業到期,公告第三次作業) 
第12週
5/15  GPU (Guest Lecture with Titus Su and Boton Chou), Graphical Model, Gibbs Sampling 
第13週
5/22  徐宏民教授演講 
第14週
5/29  Restricted Boltzmann Machine and Autoencoder
(第三次作業到期,講解期末專題) 
第15週
6/05  Deep Learning for Spoken Language Technology 
第16週
6/12  Markov Logic Network 
第17週
6/19  放假 
第18週
6/26  期末考週 
第19週
7/03  成果發表